]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
shell-app: Don't crash when trying to dispose
authorJasper St. Pierre <jstpierre@mecheye.net>
Tue, 28 Jan 2014 21:47:23 +0000 (16:47 -0500)
committerJasper St. Pierre <jstpierre@mecheye.net>
Wed, 29 Jan 2014 19:02:26 +0000 (14:02 -0500)
If we dispose a ShellApp that has windows left, then we'll crash
when we remove the last window, as that frees and NULLs out
app->running_state.

https://bugzilla.gnome.org/show_bug.cgi?id=723197

src/shell-app.c

index 9dabeba88254005c7dc59deeb8e2930c0bb95d14..dfca1d6841185556d2ff180b1479edf104f78baf 100644 (file)
@@ -1384,11 +1384,9 @@ shell_app_dispose (GObject *object)
 
   g_clear_object (&app->info);
 
-  if (app->running_state)
-    {
-      while (app->running_state->windows)
-        _shell_app_remove_window (app, app->running_state->windows->data);
-    }
+  while (app->running_state)
+    _shell_app_remove_window (app, app->running_state->windows->data);
+
   /* We should have been transitioned when we removed all of our windows */
   g_assert (app->state == SHELL_APP_STATE_STOPPED);
   g_assert (app->running_state == NULL);